﻿Public Class MASPSTATUSCLASS
    Dim connect As CONDB = CONDB.NewConnection()

    Private PSTATUS = Nothing
    Private PS_NAME = Nothing
    Private CLINIC = Nothing
    Private STATUS = Nothing
    Private F_CVN = Nothing

    Private selectMaspstatus = "SELECT mps.pstatus, mps.ps_name, mps.clinic, mc.clinicname, mps.`status`, mps.f_cvn FROM maspstatus mps LEFT JOIN masclinic mc ON mps.clinic = mc.clinic "

    Property selectMaspstatus_ As String
        Get
            Return selectMaspstatus
        End Get
        Set(value As String)
            selectMaspstatus = value
        End Set
    End Property

    Property PSTATUS_ As Integer
        Get
            Return PSTATUS
        End Get
        Set(value As Integer)
            PSTATUS = value
        End Set
    End Property

    Property PS_NAME_ As String
        Get
            Return PS_NAME
        End Get
        Set(value As String)
            PS_NAME = value
        End Set
    End Property

    Property CLINIC_ As Integer
        Get
            Return CLINIC
        End Get
        Set(value As Integer)
            CLINIC = value
        End Set
    End Property

    Property STATUS_ As Boolean
        Get
            Return STATUS
        End Get
        Set(value As Boolean)
            If value = True Then
                STATUS = 1
            Else
                STATUS = 0
            End If
        End Set
    End Property

    Property F_CVN_ As Boolean
        Get
            Return F_CVN
        End Get
        Set(value As Boolean)
            If value = True Then
                F_CVN = 1
            Else
                F_CVN = 0
            End If
        End Set
    End Property

    Public Function insertMaspstatus() As Boolean
        If connect.GetTable("SELECT pstatus FROM maspstatus WHERE ps_name = '" & PS_NAME & "' OR pstatus = '" & PSTATUS & "'").Rows.Count > 0 Then
            MsgBox("ไม่สามารถเพิ่มสถานะการบริการดังกล่าวได้ เนื่องจากมีรายการดังกล่าวอยู่แล้ว ")
            Return False
        Else
            If connect.GetTable("SELECT pstatus FROM maspstatus WHERE clinic = '" & CLINIC & "' AND status = '1'").Rows.Count > 0 Then
                MsgBox("ไม่สามารถเพิ่มสถานะการบริการดังกล่าวได้ เนื่องจากมีข้อมูลสถานะบริการของแผนกดังกล่าวอยู่แล้ว หากต้องการเพิ่มใหม่ กรุณายกเลิกสถานะบริการเดิมก่อน")
                Return False
            Else
                Try
                    connect.BeginTrans()

                    Dim sql1 As String = ""
                    Dim sql2 As String = ""
                    Dim sql3 As String = ""

                    If PSTATUS IsNot Nothing Then
                        sql2 += "pstatus, "
                        sql3 += "'" & PSTATUS & "', "
                    Else
                        sql2 += "pstatus, "
                        sql3 += "default, "
                    End If

                    If PS_NAME IsNot Nothing Then
                        sql2 += "ps_name, "
                        sql3 += "'" & PS_NAME & "', "
                    Else
                        sql2 += "ps_name, "
                        sql3 += "default, "
                    End If

                    If CLINIC IsNot Nothing Then
                        sql2 += "clinic, "
                        sql3 += "'" & CLINIC & "', "
                    Else
                        sql2 += "clinic, "
                        sql3 += "default, "
                    End If


                    sql2 += "status, "
                    sql3 += "'" & STATUS & "', "

                    sql2 += "f_cvn"
                    sql3 += "'" & F_CVN & "'"

                    sql1 += "INSERT INTO maspstatus (" & sql2 & ") VALUES (" & sql3 & ");"

                    connect.ExecuteNonQuery(sql1)
                    connect.CommitTrans()
                    MsgBox("เพิ่มข้อมูลสถานะการบริการสำเร็จแล้ว")
                    Return True
                Catch ex As Exception
                    connect.RollbackTrans()
                    MsgBox(ex.ToString)
                    Return False
                Finally
                    connect.Dispose()
                End Try
            End If
        End If
    End Function

    Public Function editMaspstatus() As Boolean
        If connect.GetTable("SELECT pstatus FROM maspstatus WHERE clinic = '" & CLINIC & "' AND status = '1' AND ps_name <> '" & PS_NAME & "'").Rows.Count > 0 Then
            MsgBox("ไม่สามารถแก้ไขสถานะการบริการดังกล่าวได้ เนื่องจากมีข้อมูลสถานะบริการของแผนกดังกล่าวอยู่แล้ว หากต้องการเพิ่มใหม่ กรุณายกเลิกสถานะบริการเดิมก่อน")
            Return False
        Else
            Try
                connect.BeginTrans()

                Dim sql As String = ""
                sql += "UPDATE maspstatus SET "

                sql += "ps_name = '" & PS_NAME & "', "
                sql += "clinic = '" & CLINIC & "', "
                sql += "status = '" & STATUS & "', "
                sql += "f_cvn = '" & F_CVN & "' "

                sql += "WHERE pstatus = '" & PSTATUS & "'"

                connect.ExecuteNonQuery(sql)
                connect.CommitTrans()
                MsgBox("แก้ไขข้อมูลสถานะบริการสำเร็จแล้ว")
                Return True
            Catch ex As Exception
                connect.RollbackTrans()
                MsgBox("ไม่สามารถแก้ไขข้อมูลได้" & ex.ToString)
                Return False
            Finally
                connect.Dispose()
            End Try
        End If
    End Function
End Class
